<?

require_once ( 'Zend/Log.php' );
require_once ( 'Zend/Log/Writer/Stream.php' );

class ErrorController extends Zend_Controller_Action {

   public function errorAction() {

      $errors = $this->_getParam( 'error_handler' );
      
      switch ( $errors->type ) {
         case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
         case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
            // 404 error -- controller or action not found
            $this->getResponse()->setRawHeader( 'HTTP/1.1 404 Not Found' );
            $this->view->caught = "404 -- from admin - " . $errors->type . ": " . $this->getRequest()->getActionName() . "/" . $this->getRequest()->getControllerName();
            // ... get some output to displa1y...
            break;
         default:
            // application error; display error page, but don't change
            // status code

            // ...
            $this->view->caught = "Admin - Other";
            // Log the exception:
            $exception = $errors->exception;
            $log = new Zend_Log( new Zend_Log_Writer_Stream( '/tmp/applicationException.log' ) );
            $log->debug( $exception->getMessage() . "\n" . $exception->getTraceAsString() );
            break;
      }
   }

   public function permissionAction() {

   }
   
   public function loginAction() {

   }
}
